package com.durian.base.update.proxy

import android.content.Context
import com.durian.base.update.entity.DownloadEntity
import com.durian.base.update.entity.VersionEntity
import java.io.File

/**
 * 版本更新提示检查器
 */
interface IUpdateChecker {
    /**
     * 检查是否需要更新版本
     * @return true:需要更新 false:不需要更新
     */
    fun doCheckVersionEntity(entity : VersionEntity) : Boolean
    /**
     * 创建下载文件
     * @return true:需要更新 false:不需要更新
     */
    fun doCreateApkFile(context : Context, versionEntity: VersionEntity) : File
    /**
     * 校验当前APK是否完整
     * @param entity 校验文件
     * @param downloadAfter true:下载完成 false:发现新版，下载前
     * @return true:完整 false:不完整
     */
    fun doCheckApkVerification(entity : DownloadEntity,downloadAfter: Boolean) : Boolean
}